﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bastanteo.Utilitario;

namespace Bastanteo.Controles
{
    public partial class MenuPrincipal : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            cargar();
        }

        public void cargar()
        {
            string CadenaSession = Request["s"];
            if ((CadenaSession == null) || (CadenaSession == ""))
            {
                VerificaSesion();
            }
            else
            {
                string strServer = "", strDb = "";
                CadenaSession = FuncionesWeb.DesencriptaSession(CadenaSession, ref strServer, ref strDb);
                SetSessiones(CadenaSession);
            }
            mostrarmenu();
        }

        public void VerificaSesion()
        {
            if (Session["user"] == null)
            {
                string strScript = "";
                strScript = "<script language='JavaScript'>";

                strScript += "var msg='http://intranetib/sda';";

                strScript += "window.parent.navigate(msg);</script>";
                Page.ClientScript.RegisterStartupScript(null, "FrameScript", strScript);
            }
        }

        public void SetSessiones(string valor)
        {
            string[] Sessiones = valor.Split("||".ToCharArray());
            if (Sessiones.Length > 0)
            {
                Session["user"] = Sessiones[0];
                Session["username"] = Sessiones[1];
                Session["perfil"] = Sessiones[2];
                Session["acceso"] = Sessiones[3];
                Session["dbserver"] = Sessiones[4];
                Session["dbname"] = Sessiones[5];
            }
        }

        public void mostrarmenu()
        {
            string strAcceso = null;
            MenuItem objItem = null;
            MenuItem objSubItem = null;

            try
            {
                this.lblUsuario.Text = Session["username"].ToString();
                strAcceso = Session["acceso"].ToString();
                mnuPrincipal.Items.Clear();
                //Mantenimientos
                if (strAcceso != "")
                {
                    if (strAcceso.Substring(0, 1) == "1")
                    {
                        objItem = new MenuItem("Mantenimiento", "1");
                        if (strAcceso.Substring(1, 1) == "1")
                        {
                            objSubItem = new MenuItem("clientes", "1.1", "", "../paginas/Mantcliente.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(2, 1) == "1")
                        {
                            objSubItem = new MenuItem("Grupos", "1.2", "", "../paginas/MantGrupos.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(3, 1) == "1")
                        {
                            objSubItem = new MenuItem("Cargos", "1.3", "", "../paginas/MantCargos.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(4, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Competencias", "1.4", "", "../paginas/Competencias.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(5, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Competencias por Posición", "1.5", "", "../paginas/CompetenciasPosicion.aspx?FlgLLamado=M&s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        this.mnuPrincipal.Items.Add(objItem);
                    }

                    // Gestion
                    if (strAcceso.Substring(6, 1) == "1")
                    {
                        objItem = new MenuItem("Gestión", "2");
                        if (strAcceso.Substring(7, 1) == "1")
                        {
                            objSubItem = new MenuItem("Registrar Representante", "2.1", "", "../paginas/MantRepresentante.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(8, 1) == "1")
                        {
                            objSubItem = new MenuItem("Poderes", "2.2", "", "../paginas/MantPoderes.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(9, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Repositorio de Documentos", "2.3", "", "../paginas/RepositorioDocumentos.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(10, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Informe Final", "2.4", "", "../paginas/InformeFinal.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }

                        this.mnuPrincipal.Items.Add(objItem);
                    }
                    // Procesamiento Resultado
                    if (strAcceso.Substring(11, 1) == "1")
                    {
                        objItem = new MenuItem("Procesamiento", "3");
                        if (strAcceso.Substring(12, 1) == "1")
                        {
                            objSubItem = new MenuItem("Bastanteo", "3.1", "", "../paginas/Bastanteo.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(13, 1) == "1")
                        {
                            //objSubItem = new MenuItem("DISC", "3.2", "", "../paginas/ProcesarDISC.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(14, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Z-TEST", "3.3", "", "../paginas/ProcesarZTEST.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(15, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Pruebas", "3.4", "", "../paginas/Pruebas.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(16, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Entrevista Final", "3.5", "", "../paginas/Entrevista.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }
                        this.mnuPrincipal.Items.Add(objItem);
                    }
                    //Reportes
                    if (strAcceso.Substring(17, 1) == "1")
                    {
                        objItem = new MenuItem("Administracion", "4");
                        if (strAcceso.Substring(18, 1) == "1")
                        {
                            objSubItem = new MenuItem("Usuarios", "4.1", "", "../paginas/MantUsuarios.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(19, 1) == "1")
                        {
                            objSubItem = new MenuItem("Roles", "4.2", "", "../paginas/MantRoles.aspx?s=" + Request.QueryString["s"]);
                            objItem.ChildItems.Add(objSubItem);
                        }
                        if (strAcceso.Substring(20, 1) == "1")
                        {
                            //objSubItem = new MenuItem("Recomendables/No Recomendables", "4.3", "", "../paginas/RecomendablesNoRecomendables.aspx?s=" + Request.QueryString["s"]);
                            //objItem.ChildItems.Add(objSubItem);
                        }

                        this.mnuPrincipal.Items.Add(objItem);
                    }

                    // Examen
                    if (strAcceso.Substring(21, 1) == "1")
                    {
                    //    objItem = new MenuItem("Rendir Examen", "5", "", string.Format("javascript:MostrarExamen('../paginas/examen/ValidacionCandidato.aspx?s={0}')", Request.QueryString["s"]));
                    //    this.mnuPrincipal.Items.Add(objItem);
                    }

                    // Salir
                    if (strAcceso.Substring(22, 1) == "1")
                    {
                        objItem = new MenuItem("&nbsp;&nbsp;&nbsp;Salir", "6", "", string.Format("javascript:window.close();"));
                        this.mnuPrincipal.Items.Add(objItem);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                objItem = null;
                objSubItem = null;

            }
        }
    }
}